
var fs = require("fs")

// 文件系统 
// 得到文件与目录的信息：stat
// 创建一个目录：mkdir
// 创建文件并写入内容：writeFile,appendFile
// 读取文件的内容：readFile
// 列出目录的东西：readdir
// 重命名目录或文件：rename
// 删除目录与文件：rmdir,unlink



// 得到文件与目录的信息：stat
// fs.stat(path[, options], callback)   异步
// fs.statSync()    同步  
// async 异步
// sync 同步

// fs.stat("../day1",(err,stats)=>{
//    if(err) throw err;  // 抛出异常  
//    console.log(stats)
//    console.log(stats.isFile()?'这是一个文件':'这是一个目录')
// })

// const stats = fs.statSync("./events.js")
// console.log(stats)
// console.log(!stats.isDirectory()?'这是一个文件':'这是一个目录')


// 创建一个目录：mkdir
// fs.mkdir("demo",err=>{
//   // if(err) throw err;
//   try{
//     console.log("文件创建成功-success")
//   }catch(err){
//     console.log(err)
//     console.log("文件创建失败")
//   }
// })

// 创建文件并写入内容：writeFile,appendFile
// fs.writeFile(file, data[, options], callback)

// fs.writeFile("logs/hello.log","wh2107-daydayup-YYDS \n","utf8",(err)=>{
//    if(err) throw err;
//    console.log("文件新建成功")
// })

// fs.appendFile("logs/demo.log","微信小程序  \n","utf8",(err)=>{
//   if(err) throw err;
//   console.log("文件新建成功")
// })

// for(var i =0 ;i<100;i++){
//   fs.appendFile("logs/demo.log","wuhan2107-精通前端所有技术  "+i+"  \n","utf8",(err)=>{
//     if(err) throw err;
//     console.log("文件新建成功")
//   })
// }


// 读取文件的内容：readFile  png  json text  html 
// fs.readFile(path[, options], callback)
// fs.readFile("logs/demo.log","utf8",(err,data)=>{
//   if(err) throw err;
//   console.log(data)
// })

// fs.readFile("events.js","utf8",(err,data)=>{
//   if(err) throw err;
//   console.log(data)
// })


// 列出目录的东西：readdir
var filelist = []
function getfile(path){
  fs.readdir(path,"utf8",(err,data)=>{
    if(err) throw err;
    // console.log(data)
    data.forEach((item,index)=>{
      //  判断是否是一个文件
      // console.log(item)
       fs.stat(path+"/"+item,(err,stat)=>{
        //  console.log(stat.isFile())
         if(stat.isFile()){
           filelist.push(item)
           console.log(filelist)
         }else{
            getfile(path+"/"+item)
         }
       })
    })
  })
}

getfile('logs')







// 递归的作业 
// 重命名目录或文件：rename
// fs.rename("demo","mydemo",(err)=>{
//   if(err) throw err;
//   console.log("重命名成功--success")
// })


// 删除目录与文件：rmdir,unlink
// fs.rmdir("mydemo",(err)=>{
//   if(err) throw err;
//   console.log("mydemo 删除成功");
// })

// fs.unlink("logs/hello.log",(err)=>{
//   if(err) throw err;
//   console.log("hello.log 删除成功");
// })